home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / info-service / gopher / gopher_protocol / Gopher+ / Gopher+AttributeRegistry < prev    next >
Encoding:
Text File  |  1993-02-16  |  14.0 KB  |  432 lines

  1. WARNING: 
  2. THIS DOCUMENT IS PRELIMINARY AND SUBJECT TO CHANGE.
  3.  
  4. ALTHOUGH WE DO NOT EXPECT ANY SIGNIFICANT CHANGES TO 
  5. THE ATTRIBUTES DEFINED HERE, NOT ALL ATTRIBUTES HAVE 
  6. BEEN IMPLEMENTED SO IT IS POSSIBLE THAT THERE MAY 
  7. BE CHANGES... 
  8.  
  9. - the GOPHER team, University of Minnesota
  10.  
  11.  
  12. Registry of Gopher+ Attributes.
  13. -------------------------------
  14.  Last Revised 16 February 1993
  15.  
  16.  
  17. 0.    Use of this document.
  18. -------------------------
  19.  
  20. This document serves as the authoritative registry of Gopher+
  21. attribute block names and the guide for the interpretation of  the
  22. content of attribute blocks.  The primary consumers of this document
  23. are authors of Gopher+ clients and servers, as well as administrators
  24. of Gopher+ servers.  It is recommended that the basic Gopher and
  25. Gopher+ protocol documents be read and understood before attempting
  26. to use this document.
  27.  
  28. If you wish to register a new attribute block,  add to the possible
  29. content of an attribute block (eg. register a new alternative view
  30. type) etc., send your request (in a  form suitable for inclusion in
  31. this document) to
  32.  
  33. <gopher@boombox.micro.umn.edu>
  34.  
  35. It will be forwarded (perhaps with minor edits), to both the
  36. gopher-news mailing list and to the usenet newsgroup
  37. comp.infosystems.gopher for possible discussion by the gopher
  38. community.  Assuming no violent disagreements and including perhaps
  39. minor changes, your request will be incorporated into the Registry
  40. with minimum fuss.
  41.  
  42. Gopher+ server implementations, client implementations, or
  43. administrators are not required to show or use any
  44. attributes other than the small, core, required set.  Server 
  45. implementations may have no provision for specifying certain
  46. kinds of attributes.  Clients may have no way to use certain
  47. kinds of attributes, and all client must be able to ignore
  48. everything they do not use.  Server administrators may at their
  49. option include or exclude attribute besides the basic set.
  50.  
  51. Throughout this document, the "#" character is used to
  52. represent an ASCII TAB character.  Information in brackets
  53. "[....]" are optional parts of attributes.  Any attribute
  54. block may include a Gopher+ descriptor on the same line
  55. as the attribute name.  In the case of the +INFO block,
  56. the Gopher+ descriptor is mandatory and identifies the item
  57. whose attributes follow.  In all other cases, the
  58. descriptor is optional (typically absent), and if present,
  59. points at a gopher item which contains the actual
  60. attribute contents.  If both a gopher descriptor pointing to
  61. an attribute as well as the attribute block exist, the 
  62. client will use the immediately following block rather than 
  63. the information indirectly accessible via the gopher 
  64. descriptor.
  65.  
  66. Attribute Block names start with "+" as the first character
  67. on the line, and cannot contain "+" within the attribute name.
  68. The lines constituting the contents of a block all start
  69. with a space character (in other words, the block content is
  70. "indented" by one space).
  71.  
  72.  
  73. 1.    The +INFO attribute block.
  74. ------------------------------
  75.  
  76. The +INFO attribute block for any item is a minimal, 1-line 
  77. block that serves only to bear the full Gopher+ descriptor
  78. of the item for identification purposes, and in the case of
  79. a list of attributes (such as would be sent in response to
  80. the Gopher+ "$" command), also separates one item's attributes
  81. from the next one.  An example of such a block would be:
  82.  
  83. +INFO: 0displayName#selector#hostName#port#+
  84.  
  85. All Gopher+ servers must include a +INFO attribute block
  86. as the very first block in the list of attributes for an
  87. item (such as would be returned in response to a "!" command).
  88. Furthermore, all Gopher+ servers must include include a +INFO
  89. attribute block as the first block for each item in a list
  90. of item attributes (such as would be returned in response to
  91. a "$" command).
  92.  
  93.  
  94.  
  95. 2.    The +ADMIN attribute block.
  96. -------------------------------
  97.  
  98. The +ADMIN block contains administrative information for an
  99. item.  All Gopher+ servers must include a +ADMIN block when
  100. returning the list of attributes for an item.  If the
  101. client has specifically requested just some specific attributes
  102. not including +ADMIN (for example using the +VIEWS or $+ABSTRACT
  103. commands), then if the server is capable of just sending
  104. selected attributes, it may omit the +ADMIN block.
  105.  
  106. The +ADMIN block must include at least two attributes when
  107. it is present: the Admin attribute and the Mod-Date attribute.
  108. An example +ADMIN block follows:
  109.  
  110. +ADMIN: [0displayName#selector#hostName#port#+]
  111.  Admin: Joe Gopher <joe@gopher.bogus.edu>
  112.  Mod-Date: 30 August 1992 <19920830103300>
  113.  
  114.  
  115. 2.1    The Admin attribute (+ADMIN block)
  116. --------------------------------------
  117.  
  118. The Admin attribute contains the email address
  119. of the administrator of the server in standard
  120. RFC 822 format.  The email address must be enclosed
  121. in angle brackets for easy extraction by the client.
  122. Any text outside the angle brackets is considered a
  123. comment, typically containing the full name of the
  124. administrator, perhaps with a phone number. Eg:
  125.  
  126.  Admin: Joan Gopher, (612) 555-1212 <joan@gopher.bogus.edu>
  127.  
  128.  
  129. 2.2    The Mod-Date attribute (+ADMIN block)
  130. -----------------------------------------
  131.  
  132. The Mod-Date attribute contains the date of last
  133. modification of the item.  The date, if known, is enclosed in
  134. angle brackets for easy extraction by the client.  If there
  135. are no angle brackets on the line, the modification date is
  136. unknown (the server cannot or chooses not to tell you).  The
  137. format of the date is <YYYYMMDDhhmmss> (YYYY=year, MM=month,
  138. DD=day, hh=hour in 24 hour format, mm=minute, ss=second).
  139. Any text outside the angle brackets may contain
  140. the date in local (user readable) format.  Eg:
  141.  
  142.  Mod-Date: 30 August 1992 <19920830100300>
  143.  
  144.  
  145.  
  146. 3    The +ABSTRACT attribute block.
  147. ----------------------------------
  148.  
  149. The +ABSTRACT block contains a short abstract describing
  150. the contents of the item.  Eg.
  151.  
  152. +ABSTRACT: [0displayName#selector#hostName#port#+]
  153.  This document contains the list of closed classes for
  154.  the Fall Quarter 1992 in the Department of Obfuscation
  155.  at the University of Minnesota.
  156.  
  157.  
  158. 4    The +VIEWS attribute block.
  159. -------------------------------
  160.  
  161. The +VIEWS block contains of alternative views for an item.
  162. For example, most gopher documents are text files.  These
  163. files are ASCII text only, and so devoid of any elaborate
  164. formatting, font information etc.  An alternative view of
  165. such a document might be a Postscript rendering, or a Rich 
  166. Text version. The content of these "alternative representations" 
  167. is the same as that of the basic text, but might include 
  168. additional information such as diagrams or pictures.
  169.  
  170. The default or standard view of basic gopher text documents is 
  171. the basic text view.  Directories (lists of Gopher items) may
  172. also have alternative views, as may other gopher items.  For more
  173. information on +VIEW blocks, please read the Gopher+ protocol 
  174. document. Note that Gopher+ Image files (type "I") have NO default 
  175. type; the client must check to see what representations are 
  176. available before attempting a transfer.
  177.  
  178. The general format of a gopher+ view descriptor is:
  179.  
  180.      xxx/yyy zzz: <nnnK>
  181.  
  182. where xxx is a general type-of-information advisory, yyy is 
  183. what information format you need understand to interpret this 
  184. information, zzz is a language advisory, and nnn is the 
  185. approximate size in bytes. Examples:
  186.  
  187.  Text  <25K>
  188.  Text de_DE: <54K>
  189.  Text/Postscript de_DE:<187K>
  190.  
  191. The first example view is text, the second view is text in 
  192. German, and the third view is a postscript rendering of text 
  193. in German. 
  194.  
  195. Another example describing an image in gif format with the 
  196. Japanese language advisory (perhaps there are kanji characters 
  197. in the image...):
  198.  
  199.     image/gif Jp_JP: <1024K>
  200.  
  201. The choices for the type of information advisory are:
  202.  
  203.     text
  204.     file
  205.     image
  206.     audio
  207.     video
  208.     smell
  209.     tactile
  210.     terminal
  211.  
  212.  
  213. The options for information format depend on the type of 
  214. information as follows:
  215.  
  216.  
  217. 4.1 Text 
  218.  
  219. Text type information views should ALWAYS include a plain 
  220. ascii version of the information so that the lowest common 
  221. denominator is accommodated. If the information format is not 
  222. specified, then the client assumes ascii text. The values for 
  223. text format are as follows:
  224.  
  225.      text
  226.      text/unicode
  227.      text/postscript
  228.      text/sjis
  229.      text/jis
  230.      text/euc
  231.      text/gb
  232.      text/big-5
  233.      text/rtf
  234.      text/msword
  235.      text/macwrite
  236.      text/mime
  237.      text/tex
  238.      text/dvi
  239.  
  240. Notes: 
  241. Most of the information format should be obvious. 
  242. MIME is (of course) Multi-media internet mail extension format 
  243. a way of encoding binary information into a 7 bit data stream. 
  244. Rtf is microsoft's rich text format, big-5 is an encoding of 
  245. kanji characters into ascii text as are gb, euc, jis, and sjis. 
  246.  
  247.  
  248. 4.2 File (binaries)
  249.  
  250. File format information in general assumes that the client will 
  251. take the byte stream and store it to a disk file. It is STRONGLY 
  252. recommended that client software not automatically launch binary 
  253. files without giving the user the option of skipping the launch... 
  254. because of potential problems with virus transmission. If no format 
  255. is specified, then the raw byte stream can be written to a file 
  256. without interpretation. However, there are several common 
  257. coding/compression schemes which may require the client to decode or
  258. decompress the information sent from the server. The values are as 
  259. follows:
  260.  
  261.    file
  262.    file/hqx
  263.    file/uuencode
  264.    file/tar.z
  265.    file/unixcompress
  266.    file/zip
  267.    file/tar
  268.    file/zoo
  269.    file/arc
  270.    file/lharc
  271.    file/pcexe
  272.    file/macbinary
  273.  
  274.  
  275. 4.3 Image
  276.  
  277. Image format information does not have a default format so 
  278. clients will have to fetch the alternate views to know how 
  279. to render the image. The values are:
  280.    image/gif
  281.    image/jpeg
  282.    image/pict
  283.    image/jfif
  284.    image/tiff
  285.    image/pcx
  286.    image/pbm
  287.    image/pgm
  288.    image/ppm
  289.    image/postscript
  290.    image/eps
  291.  
  292. Notes: 
  293. Again, most of these formats should be obvious.
  294. GIF is also known as Compuserve Graphic Interchange
  295. Format.  The content of gif images is binary and 
  296. viewers exist for UNIX, Macs, PCs. PICT is a common 
  297. Macintosh picture format with a binary content. TIFF 
  298. (Tagged Image File Format) is another common graphic 
  299. format with binary content.
  300.  
  301.  
  302. 4.4 Audio
  303.  
  304. Audio format information does not have a default 
  305. format; client software will need to fetch the alternate 
  306. views to know how to play the audio. The formats are:
  307.    audio/ulaw
  308.    audio/wave
  309.    audio/snd
  310.  
  311.  
  312. 4.5 Video
  313.  
  314. Video format information does not have a default format, 
  315. so once again the client software will have to fetch alternate 
  316. views to know how to play the video. The values for the video 
  317. view attributes are:
  318.    video/quicktime
  319.    video/mpeg 
  320.  
  321.  
  322. 4.6 Smell
  323.  
  324. Digitized smell information is an exciting new frontier for networked 
  325. information servers. Alas, the lack of standards in the area mean 
  326. that most digitized smells will be represented as ascii text words. 
  327. However, and alternate view format for the soon-to-emerge digital 
  328. funky small format may be supported someday (in your dreams).
  329.    smell/ascii
  330.    smell/funky
  331.  
  332.  
  333. 4.7 Tactile
  334.  
  335. Digitized tactile information will be important as the Internet 
  336. becomes more commercialized and paying customers demand sensational
  337. applications. For now we must content ourselves with ascii words 
  338. describing digital tactile information but the long awaited digital 
  339. touch standard will be accommodated as an alternate view.
  340.    tactile/ascii
  341.    tactile/touch
  342.  
  343. 4.8 Terminal session information is not really well defined yet. We 
  344. need to make this work cross platform somehow. These are really 
  345. placeholders for when we figure out what to do here.
  346.     terminal/telnet
  347.     terminal/tn3270
  348.  
  349. 4.9 Language tags are coded using the POSIX definitions. 
  350. Here are the POSIX definitions for some languages:
  351.  
  352. Danish          Da_DK
  353. Dutch (Belgium)      Nl_BE
  354. Dutch                   Nl_NL
  355. English (Great Britain) En_GB
  356. English (US)            En_US
  357. Finnish                 Fi_FI
  358. French (Belgium)        Fr_BE
  359. French (Canada)         Fr_CA
  360. French (Switzerland)    Fr_CH
  361. French                  Fr_FR
  362. German (Switzerland)    De_CH
  363. German                  De_DE
  364. Greek                   El_GR
  365. Icelandic               Is_IS
  366. Italian                 It_IT
  367. Japanese                Jp_JP
  368. Norwegian               No_NO
  369. Portuguese              Pt_PT
  370. Spanish                 Es_ES
  371. Swedish                 Sv_SE
  372. Turkish                 Tr_TR
  373.  
  374.  
  375.  
  376.  
  377. 5.    The +ASK attribute block.
  378. -----------------------------
  379.  
  380. The content of the +ASK attribute block is a series of questions (one
  381. to a line) that the client must ask the user in the order in which
  382. they are specified in the block.  The user's (say 3) replies are sent
  383. to the server (in this case as the first 3 lines) in the data block. 
  384. If a file is to be sent to the server, this is sent in the last part
  385. of the client's (normally absent, optional) data block.  For more
  386. information see the Gopher+ protocol document.
  387.  
  388. 5.1  Ask question  (+ASK)
  389.  
  390. The Ask line specifies a question and an optional 
  391. default answer to present to the user.  The default answer
  392. (if any) is separated from the question by a TAB. The user's
  393. reply is to be sent to the server.  Examples:
  394.  
  395.  Ask: Transfer files (by FTP) from:#wuarchive.wustl.edu
  396.  Ask: Your VISA card number?
  397.  
  398.  
  399. 5.2  AskF question (+ASK)
  400.  
  401. The AskF line presents the user with a one-line request
  402. for a local file to hold the information that the server
  403. is about to send.  The request may include a tab-separated
  404. default filename. The client should save the data the server
  405. sends in the file rather than attempting to display it. Eg:
  406.  
  407.  AskF: Save requested viral RNA sequence as?#T7-sequence
  408.  
  409.  
  410. 5.3  Choose question (+ASK)
  411.  
  412. The Choose line presents the user with a one-line question,
  413. and a few tab separated choices (there may be one to three choices,
  414. eg. Yes, No, Cancel).  The user's
  415. selection is sent to the server in the client's data block.
  416. Eg.
  417.  
  418.  Choose: Display results in miles or kilometers?#Miles#Km
  419.  
  420.  
  421. 5.4  ChooseF
  422.  
  423. The ChooseF line requests a local file from the user, using
  424. a one line prompt.  The client should send the contents of this file
  425. to the server in the client's data block.  If the file is a text file
  426. the client should respect normal text file transfer conventions; if
  427. not a text file the client should assume it is binary and send it
  428. appropriately.  Eg:
  429.  
  430.  ChooseF: File containing target DNA sequence?
  431.  
  432.